Programmers can use a programming language to build functions, modules, and applications by writing text files containing code in the programming language. Once a program is written, it needs to be tested. Some programmers use a debugger to understand the behavior of the program in order to spot errors. Some programmers use test harnesses that automatically run tests against the program to see if the program produces expected results. If an error is detected, then the programmer usually returns to an editor to modify the code before tests are rerun to see if the errors are corrected. Traditionally, a user edits a program under an editing mode and/or environment. When the program is complete, a user may test the program by switching to a testing/debugger mode and/or environment. When an error is detected in the testing/debugger mode and/or environment, a user may return to the editing mode and/or environment to modify the program. After modification is made to the program, the user may return to the testing/debugger mode and/or environment to retest the program.